package br.edu.univas.si.lab3.bankmanager.controller;

import br.edu.univas.si.lab3.bankmanager.listeners.MenuListener;
import br.edu.univas.si.lab3.bankmanager.model.DAO;
import br.edu.univas.si.lab3.bankmanager.model.ClienteTO;
import br.edu.univas.si.lab3.bankmanager.view.FramePrincipal;

public class ControllerPrincipal {

	private DAO dao;
	
	public ControllerPrincipal(DAO dao) {
		this.dao = dao;
	}

	public void showMenu() {
		FramePrincipal principal = new FramePrincipal();
		principal.addMenuListener(new MenuListener() {
			@Override
			public void novoAction(ClienteTO cliente) {
				ControllerNovo novo = new ControllerNovo(dao);
				novo.criarNovoCliente(cliente);
			}
			@Override
			public void listarAction(ClienteTO cliente) {
				ControllerListar listar = new ControllerListar(dao);
				listar.listarContatos(cliente);
			}
			@Override
			public void deleteAction(ClienteTO cliente) {
				ControllerDelete delete = new ControllerDelete(dao);
				delete.deletarCliente(cliente);
			}
			@Override
			public void depositarAction(ClienteTO cliente) {
				ControllerDeposito deposito = new ControllerDeposito(dao);
				deposito.depositar(cliente);
			}
			@Override
			public void saqueAction(ClienteTO cliente) {
				ControllerSaque saque = new ControllerSaque(dao);
				saque.sacar(cliente);
			}
			@Override
			public void saldoAction(ClienteTO cliente) {
				ControllerSaldo saldo = new ControllerSaldo(dao);
				saldo.consultaSaldo(cliente);
			}
			@Override
			public void alteraAction(ClienteTO cliente) {
				ControllerAltera altera = new ControllerAltera(dao);
				altera.alterarDados(cliente);
			}
		});
		principal.setVisible(true);
	}
		
}

